package com.weiquan.vo;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 管理员登录响应VO
 */
@Data
public class AdminLoginResponse {

    /**
     * 访问令牌
     */
    private String accessToken;

    /**
     * 刷新令牌
     */
    private String refreshToken;

    /**
     * 令牌类型
     */
    private String tokenType = "Bearer";

    /**
     * 令牌过期时间（秒）
     */
    private Long expiresIn;

    /**
     * 管理员信息
     */
    private AdminInfo adminInfo;

    /**
     * 管理员基本信息
     */
    @Data
    public static class AdminInfo {
        /**
         * 管理员ID
         */
        private Long id;

        /**
         * 用户名
         */
        private String username;

        /**
         * 管理员姓名
         */
        private String realName;

        /**
         * 头像URL
         */
        private String avatar;

        /**
         * 角色：1-超级管理员，2-内容管理员，3-客服管理员
         */
        private Integer role;

        /**
         * 角色名称
         */
        private String roleName;

        /**
         * 权限列表
         */
        private List<String> permissions;

        /**
         * 最后登录时间
         */
        private LocalDateTime lastLoginTime;

        /**
         * 登录次数
         */
        private Integer loginCount;
    }
}